package com.example.barnes.ummo.db; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteException; import android.database.sqlite.SQLiteOpenHelper; import android.util.Log; /** * Created by barnes on 8/6/15. */ public class DbHelper extends SQLiteOpenHelper { private static final String CREATE_TABLE_SERVICE_TYPE = "CREATE TABLE " + Constants.TABLE_Q_SERVICETYPE + " (" + Constants.Q_SERVICETYPEID + " INTEGER PRIMARY KEY, " + Constants.Q_SERVICETYPENAME + " TEXT NOT NULL)"; private static final String CREATE_TABLE_SERVICE_PROVIDER = "CREATE TABLE " + Constants.TABLE_Q_SERVICEPROVIDER + " (" + Constants.Q_SERVICEPROVIDERID + " INTEGER PRIMARY KEY, " + Constants.Q_SERVICEPROVIDERNAME + " TEXT NOT NULL, " + Constants.Q_SERVICETYPEID +" INTEGER NOT NULL, " + "FOREIGN KEY(" + Constants.Q_SERVICETYPEID + ") REFERENCES " + Constants.TABLE_Q_SERVICETYPE + "(" + Constants.Q_SERVICETYPEID + "))"; /*private static final String CREATE_TABLE_SERVICE_PROVIDER = "CREATE TABLE " + Constants.TABLE_Q_SERVICEPROVIDER + " (" + Constants.Q_SERVICEPROVIDERID + " INTEGER PRIMARY KEY, " + Constants.Q_SERVICEPROVIDERNAME + " TEXT NOT NULL, " + Constants.Q_SERVICETYPEID +" INTEGER FOREINGKEY REFERENCES " + Constants.TABLE_Q_SERVICETYPE + "(" + Constants.Q_SERVICETYPEID + "))";*/ private static final String CREATE_TABLE_SERVICE_NAME = "CREATE TABLE " + Constants.TABLE_Q_SERVICE + " (" + Constants.Q_SERVICENAMEID + " INTEGER PRIMARY KEY, " + Constants.Q_SERVICENAME + " TEXT NOT NULL, " + Constants.Q_SERVICETYPEID + " INTEGER NOT NULL, " + Constants.Q_SERVICEPROVIDERID + " INTEGER NOT NULL, " + "FOREIGN KEY(" + Constants.Q_SERVICETYPEID + ") REFERENCES " + Constants.TABLE_Q_SERVICETYPE + "(" + Constants.Q_SERVICETYPEID + "), "+ "FOREIGN KEY(" + Constants.Q_SERVICEPROVIDERID + ") REFERENCES " + Constants.TABLE_Q_SERVICEPROVIDER + "(" + Constants.Q_SERVICEPROVIDERID + "))"; private static final String CREATE_TABLE_QTABS = "CREATE TABLE " + Constants.TABLE_NAME_Q + " (" + Constants.Q_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " + Constants.Q_SERVICENAMEID + " INTEGER FOREIGNKEY REFERENCES " + Constants.TABLE_Q_SERVICE + "(" + Constants.Q_SERVICENAMEID + "), " + Constants.Q_NAME + " TEXT NOT NULL, " + Constants.Q_TAB_POSITION + " INTEGER NOT NULL, " + Constants.Q_POSITION + " TEXT NOT NULL)"; public DbHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) { super(context, name, factory, version); } @Override public void onCreate(SQLiteDatabase db) { Log.v("MyDBhelper onCreate", "Creating all the tables"); try { db.execSQL(CREATE_TABLE_SERVICE_TYPE); db.execSQL(CREATE_TABLE_SERVICE_PROVIDER); db.execSQL(CREATE_TABLE_SERVICE_NAME); db.execSQL(CREATE_TABLE_QTABS); } catch(SQLiteException ex) { Log.v("Create table exception", ex.getMessage()); } } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { Log.w("TaskDBAdapter", "Upgrading from version " + oldVersion + " to " + newVersion + ", which will destroy all old data"); db.execSQL("drop table if exists " + Constants.TABLE_Q_SERVICETYPE); db.execSQL("drop table if exists " + Constants.TABLE_Q_SERVICEPROVIDER); db.execSQL("drop table if exists " + Constants.TABLE_Q_SERVICE); db.execSQL("drop table if exists " + Constants.TABLE_NAME_Q); onCreate(db); } }